#!/usr/bin/make -f
#
# (C) 2002-2008 Roland Rosenfeld <roland@debian.org>, based on
# Sample debian/rules that uses debhelper.
# This file is public domain software, originally written by Joey Hess. 

# Uncomment this to turn on verbose mode.
#export DH_VERBOSE=1

# These are used for cross-compiling and for saving the configure script
# from having to guess our platform (since we know it already)
DEB_HOST_GNU_TYPE   ?= $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE)
DEB_BUILD_GNU_TYPE  ?= $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE)

DEBDIR=`pwd`/debian/privoxy

# Include dpatch stuff.
include /usr/share/dpatch/dpatch.make

OPTIMIZE=
ifneq (,$(findstring noopt,$(DEB_BUILD_OPTIONS)))
        OPTIMIZE=-O0
else
        OPTIMIZE=-O2
endif

build: build-stamp
build-stamp: patch-stamp
	dh_testdir

	autoheader
	autoconf
	env CFLAGS="$(OPTIMIZE) -g" \
		./configure --prefix=/usr --sysconfdir=/etc \
		--mandir=/usr/share/man	$(WITHDEBUG) \
		--enable-zlib \
		--with-docbook=/usr/share/sgml/docbook/stylesheet/dsssl/modular
	$(MAKE)
	$(MAKE) dok
	env -u LANG $(MAKE) man
	$(MAKE) man2html

	touch build-stamp

clean: clean1 unpatch
clean1:
	dh_testdir
	dh_testroot
	rm -f build-stamp configure-stamp

	[ ! -f GNUmakefile ] || $(MAKE) clean
	[ ! -f GNUmakefile ] || $(MAKE) distclean
	rm -f configure config.h GNUmakefile
	rm -f privoxy.8

	rm -rf obj
	rm -f ActivityConsole.jar
	rm -f src/java/org/privoxy/activityconsole/*.class

	rm -f doc/source/ldp.dsl
	rm -rf doc/source/temp

	dh_clean -Xrc.privoxy.orig

install: build-stamp
	dh_testdir
	dh_testroot
	dh_clean -k -Xrc.privoxy.orig
	dh_installdirs

	install -m 0755 privoxy $(DEBDIR)/usr/sbin/privoxy

	install -m 644 config $(DEBDIR)/etc/privoxy/config
	install -m 0644 default.action $(DEBDIR)/etc/privoxy/default.action
	install -m 0644 match-all.action $(DEBDIR)/etc/privoxy/match-all.action
	install -m 0644 user.action $(DEBDIR)/etc/privoxy/user.action
	install -m 0644 default.filter $(DEBDIR)/etc/privoxy/default.filter
	install -m 0644 trust $(DEBDIR)/etc/privoxy/trust

	install -m 0755 tools/privoxy-log-parser.pl \
		$(DEBDIR)/usr/bin/privoxy-log-parser
	pod2man tools/privoxy-log-parser.pl \
		> $(DEBDIR)/usr/share/man/man1/privoxy-log-parser.1

	cp -r templates $(DEBDIR)/etc/privoxy/
	rm -f $(DEBDIR)/etc/privoxy/templates/*~
	rm -rf $(DEBDIR)/etc/privoxy/templates/CVS

#	Remove CVS tags and trailing spaces from config files:
	find $(DEBDIR)/etc/privoxy -type f \
	| xargs grep -l '\$$[A-Z][^$$]*:[^$$]*\$$' \
	| while read f; do \
	    sed -e 's/\$$\(Id: [^$$]*,v\)[^$$]*\$$/\1/' \
		-e 's/\$$\(Source: [^$$]*\)\$$/\1/' \
		-e 's/\$$\(Log: [^$$]*\)\$$/\1/' \
		-e 's/ *$$//' < $$f > $$f.new; \
	    mv -f $$f.new $$f; \
	done

# Build architecture-independent files here.
binary-indep: build-stamp install
# We have nothing to do by default.

# Build architecture-dependent files here.
binary-arch: build-stamp install
	dh_testdir
	dh_testroot
#	dh_installdebconf	
	dh_installdocs -XCVS
	(cd $(DEBDIR)/usr/share/doc/privoxy/; \
	 mv privoxy-index.html index.html)
	dh_installexamples
	dh_installmenu
	dh_installlogrotate
#	dh_installemacsen
#	dh_installpam
#	dh_installmime
	dh_installinit
	dh_installcron
	dh_installman
	dh_installinfo
#	dh_undocumented
	dh_installchangelogs ChangeLog
	dh_link
	dh_strip
	dh_compress
	dh_fixperms
#	dh_makeshlibs
	dh_installdeb
	dh_perl
	dh_shlibdeps
	dh_gencontrol
	dh_md5sums
	dh_builddeb

binary: binary-indep binary-arch

.PHONY: build clean binary-indep binary-arch binary install patch unpatch \
	clean1
